Traditional gaming apparatuses utilize read only memories (“ROMs”) to store a variety of executable software routines as well as non-executable text files. The data stored on these ROMs is typically not compressed and is stored as a single binary image file. To access an executable software routine or a non-executable text file stored on the ROM, a controller must know exactly where the data is stored in the ROM. In other words, the exact memory address for the beginning point of the file must be known. If the exact memory address is known, the controller will jump to the location within the ROM or a mapped virtual memory. Furthermore, adding more data or files into an image on traditional ROMs has an affect on other software written to execute the software or retrieve the data because the image on the ROM will need to be rebuilt, causing the subsequent memory addresses to change.